// 引入唯一标识作为一条记录的唯一标识

// 创建唯一ID
import util from '../../utils/util'

Page({

  data: {
    // 活动标题
    title:'',
    // 活动地址
    // 省市区
    province:'',
    // 详细地址
    detailedAddress:'',
    date:'',
    people:'',
    // 是否有图片
    haveImg:false,
    imgPath:'',
    // 活动分类
    classifyArr:['线下','线上'],
    classifyIndex:0,
    // 票种设置
    paymentMoney:0,
    // 主办方
    host:'',
    // 是否已编辑
    haveContent:false
  },

  onLoad(){
    // 需要进行登录验证
    if(!wx.getStorageSync('isLogin')){
      wx.showModal({
        title: '提示',
        content: '在发布活动前需进行登录',
        showCancel: false,
        confirmText: '好的',
        confirmColor: '#3CC51F',
        success: (result) => {
          if (result.confirm) {
            wx.switchTab({
              url: '/pages/mine/mine',
            });  
          }
        },
      });
        
    }
  },
  onShow(){
    const addressData = wx.getStorageSync('addressData');
    const money = wx.getStorageSync('payment');
    const contentHtml = wx.getStorageSync('contentHtml')  
    if(addressData){
      this.setData({
        province:addressData.province,
        detailedAddress:addressData.detailAddress
      })
    };

    if(contentHtml){
      this.setData({
        haveContent:true
      })
    }

    this.setData({
      paymentMoney:money,
    })
  },


  // 修改活动标题的值
  changeTitle(e){
    // console.log(e);
    this.setData({
      title:e.detail.value
    })
  },

  // 选择活动时间
  bindDateChange(e){
    // console.log(e);
    this.setData({
      date:e.detail.value
    })
  },

  // 确定限制人数
  changePeople(e){
    // console.log(e);
    const that = this;
    // 当活动人数超过1000则进行警告
    if(e.detail.value >= 10000 || e.detail.value<0){
      wx.showModal({
        title: '提示',
        content: `1、若限制人数超过10000,请填0;2、数据类型为整数`,
        showCancel: false,
        confirmText: '知道了',
        confirmColor: '#3CC51F',
        success: (result) => {
          if (result.confirm) {
            that.setData({
              people:''
            })
            return;
          }
        },
      });
    }
    this.setData({
      people:e.detail.value
    })
  },

  // 跳转到活动编辑详情页
  gotoPubDetail(){
    wx.navigateTo({
      url: `/pages/publish_detail/publish_detail`,
    });
  },

  // 上传图片
  getImg(){
    const that = this;
    wx.chooseMedia({
      count:1,
      mediaType:['image'],
      sourceType: ['album', 'camera'],
      camera: 'back',
      success(res){
        // console.log(res.tempFiles[0].tempFilePath);
        // 这是临时地址
        that.setData({
          haveImg:true,
          imgPath:res.tempFiles[0].tempFilePath
        })
      }
    })
  },


  // 活动类型设置 线上或者线下
  getClassify(e){
    // console.log(e);
    this.setData({
      classifyIndex:e.detail.value
    })
  },


  // 票种设置 免费或者收费
  HandlePayment(){
    wx.navigateTo({
      url: `/pages/publish_payment/publish_payment`,
    });
  },

  // 获取主办方信息
  handleHost(e){
    // console.log(e.detail.value)
    this.setData({
      host:e.detail.value
    })
  },
  // 选择活动地址
  chooseAddress(){
    wx.navigateTo({
      url: `/pages/publish_address/publish_address`,
    });
  },


  // 立即发布
  submit(){
    const that = this;
    const data = this.data;
    if(wx.getStorageSync('contentHtml')){
      data['content'] = wx.getStorageSync('contentHtml');
    }
    // 在将数据上传到云数据库时 先判断 是否所有字段都已填写
    const {imgPath,title,province,date,people,content,host} = data;

    if(imgPath&&title&&province&&date&&people!==''&&content&&host){
      let currentTime = new Date();
      currentTime = currentTime.setDate(currentTime.getDate()-1);
      currentTime = new Date(currentTime)
      const date_temp = new Date(date)
      console.log("=======================",date_temp,currentTime)
      if(date_temp<currentTime){
        wx.showModal({
          title: '警告',
          content: '请设置有效活动初始时间',
          showCancel: false,
          confirmText: '好的',
          confirmColor: '#3CC51F',
        });
        return;
      }
      wx.showLoading({
        title: '数据上传中',
        mask:true
      })
        // 将图片资源上传到云存储
      wx.cloud.uploadFile({
        cloudPath:`${util.wxuuid()}.png`,
        filePath:data.imgPath,
        success:res=>{
          // 上传成功后 就删除本地存储里面的数据
          wx.removeStorageSync('contentHtml');
          wx.removeStorageSync('payment');
          wx.removeStorageSync('addressData');

          data.imgPath = res.fileID
          // 文件ID
          // console.log(res.fileID);
          // 需要写入的数据有 唯一标识 封面 标题 地址（省市区+详细地址） 时间 限制人数 详情 分类 票种 主办方
          // 调用云函数，将数据写入云数据库
          wx.cloud.callFunction({
            name:'upPublish',
            data:{
              data
            },
            success:val=>{
              console.log(val);
              // 成功后 进行页面跳转
              // 关闭加载框
              wx.hideLoading();
              wx.switchTab({
                url: '/pages/mine/mine',
              });

              // 数据重置
              that.setData({
                // 活动标题
                title:'',
                // 活动地址
                // 省市区
                province:'',
                // 详细地址
                detailedAddress:'',
                date:'',
                people:'',
                // 是否有图片
                haveImg:false,
                imgPath:'',
                // 活动分类
                classifyArr:['线下','线上'],
                classifyIndex:0,
                // 票种设置
                paymentMoney:0,
                // 主办方
                host:'',
                // 是否已编辑
                haveContent:false
              })
            }
          })
        }
      })
    }else{
      // 提示需要完成填写信息
      wx.showModal({
        title: '提示',
        content: '请完善所有信息',
        showCancel: false,
        confirmText: '确定',
        confirmColor: '#3CC51F',
      });
    }
  }
})